package com.example.cxf.webservice;

import com.example.cxf.model.entity.VehicleInfo;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

/**
 * 说明：
 * <p>1. 接口上 @WebService 是必须的，并且必须指定 targetNamespace；targetNamespace 必须和实现类中 targetNamespace 一致</p>
 * <p>2. 方法上的 @WebMethod 也是必须的，否则不会将此接口暴露</p>
 * <p>3. 方法上的 @WebParam 是可选注解，表示参数；如果没有指定注解或者 name，在 wsdl 中，参数名都从 arg0 开始，依次为 arg1,arg2......</p>
 * <p>3. 方法上的 @WebResult 是可选注解，表示返回值；如果没有指定注解或者 name，在 wsdl 中，返回值名字皆为 return</p>
 */
@WebService(targetNamespace = "http://vehicle.cxf.example.com")
public interface VehicleWebservice {

    @WebMethod
    VehicleInfo getVehicleInfo(String id);

    @WebMethod
    @WebResult(name = "result")
    Boolean saveVehicleInfo(@WebParam(name = "vehicleInfo") VehicleInfo vehicleInfo);
}
